1. Field of the Invention
The present invention relates to Internet and Intranet Browsers, more specifically, to Browsers equipped with functionality to process a sequence of URL requests automatically. This capability allows the Browser to induce a non-streaming server to simulate a streaming server.
2. Discussion of Prior Art
Internet Browsers are computer programs that simplify and make convenient viewing and navigating through documents on the World Wide Web (Web), written in the Hypertext Markup Language (HTML). Two of the most popular browsers are the Netscape's Navigator, home page http://www.netscape.com, and the Microsoft's Internet Explorer, home page http://www.microsoft.com/ie/default.esp. All Web browsers provide a graphical user interface with standard point-and-click navigation methods and HTML file support.
HTML documents linked to other HTML documents on the Internet are called hypertext documents. Hypertext documents with multimedia capabilities are called hypermedia documents. The links, connecting hypertext documents, are called hyperlinks or hot links. Hyperlinks often appear in the hypertext documents behind the highlighted text, a word or a phrase usually describing something of which a user might want further information. The region of the hypertext document where the hyperlink appears as text is called hot object.
To activate a hyperlink, the user must point and click on the hot object by using a computer pointing device such as a keyboard or a mouse. The user's computer screen display is then changed to display the linked hypertext document, which typically contains more information on the highlighted word or phrase of the hot object. Hyperlinks make it easy to follow cross-references between documents.
The hypertext documents and other data on the Web are found and retrieved by the means of the Uniform Resource Locator (URL). The URL complies with a draft standard for specifying an object on the Internet. It specifies the object format, the access method, and the location of the object. The object's formats are specified as Multipurpose Internet Mail Extensions (MIME). The following are a few formats on the Web.
.au--the most common audio format, PA1 .html--hypertext markup language, PA1 .jpg--still images encoded using Joint Picture Experts Group standards, PA1 .mid--midi music, PA1 .mpg--video images encoded using Motion Picture Experts Group standard, and PA1 .ps--post script.
Each hot object in hypertext files is linked to a unique URL. Often having a hot object linked to a sequence of URLs is desirable. For example, a presentation may consist of a sequence of HTML files, each of which is linked by a URL. The author may want this presentation of HTMLs to be shown in sequence, each lasting some predetermined amount of time. Another situation arises when a sequence of video segments is located at various URLS, when linked together such sequences comprise one contiguous selection of video.
Video is the dominant medium in entertainment and is rapidly becoming common in computing environments. Viewing a sequence of video segments in contiguous fashion is very desirable for a viewer, so as to simulate viewing the entire video being streamed from a server. Providing the user with one hot object that would automatically direct the request to the multitude of URLs in a sequence is therefore desirable, with the request being executed either automatically or manually by the viewer.
A conventional non-streaming server is insensitive to isochronous requirements. In general, that type of server is designed for minimal transfer latency. Without explicit mechanisms to ensure isochronism, delivery rates of data to a browser are irregular, resulting in erratic playback quality at client machines. To avoid an erratic playback of video files, the usual approach is to download to the host computer whole video files before starting the video playback. Video data is typically very voluminous. Compressed video formats such as MPEG-1, Indeo, QuickTime-MOV, and Cinepack require about 10 MB to store one minute of video data. When the bandwidth of the channel is too low to support the bit rate of the particular video, this approach of downloading of whole video files before starting the video or some modification of it is inevitable.
One such modification is to obtain statistics of the download rate, and together with the bit rate of the video compute a reasonable starting time for playback so that the entire video may be played without glitches. This scheme reduces the latency between the request for the video and the start of the playback. When the bandwidth of the channel is greater than that required for a real-time playback, a non-streaming server may overwhelm the storage of the receiving playback system.
Streaming video is primarily intended to address this situation. A streaming server delivers video streams isochronously, so that the video playback is guaranteed to have smooth motion and sound, provided that the channel bandwidth is high enough. The streaming server sends video data at controlled bit rates that match the bit rate of the encoded video. One drawback of streaming video files is that the receiving playback system cannot support random seeks. A user viewing streaming video must always begin viewing from the beginning of the file, or at best from that portion of the file that is cached. When seeking video to the future point in time, for example, the viewer has to wait for the server to stream all the video data prior to the desired seek position.